Generally, a packet transmitted in a network is often lost due to an overflow at a node (router) provided in the network, bit error in a wireless space, etc. In such a case, there is a method in which a receiver requests a transmitter to retransmit a lost packet, and the transmitter who is requested to retransmit retransmits the lost packet.
For example, in a protocol of TCP (Transmission Control Protocol), the receiver transmits an ACK packet to the transmitter for acknowledging receipt. When the ACK packet is not returned to the transmitter, the transmitter judges that the receiver has not received a packet and retransmits the packet. As stated, the TCP protocol is a reliable transfer protocol.
However, unlike downloading of data, it is not necessary to receive all of data for reproducing the data in streaming distribution in multimedia. Therefore, the receiver can request to retransmit only an important data packet when the packet is lost, and the transmitter can retransmit only the important data packet. Since only the important packet is retransmitted, a band (bandwidth) can be utilized effectively. Further, since the receiver does not wait for the retransmission of an unnecessary data packet, real-time characteristics can be improved.
A retransmission control system for the above-stated purposes is disclosed in Japanese Unexamined Published Patent Application Hei 9-214507 and Japanese Unexamined Published Patent Application Hei 11-284657.
The retransmitting system disclosed in Japanese Unexamined Published Patent Application Hei 9-214507 uses a wireless communication method for performing real-time communication while guaranteeing a possible best quality. In the wireless communication method, when the packet is lost, the retransmission is tried a few times. If the retransmission does not reach the receiver after trying, a packet in a low priority degree is cancelled, and the retransmission is tried.
A retransmitting system disclosed in Japanese Unexamined Published Patent Application Hei 11-284657 is a retransmission control system in a connection establishing type communication for suppressing communication of a packet in a low priority degree at a time of congestion. In this retransmission control system, a possible number of retransmission to each connection is set, and the possible number of retransmission is reduced by one after retransmission. When the possible number of retransmission becomes zero, communication to the connection is stopped, and a band in a high priority degree is secured as much as possible.
Further, as a protocol for data transfer with high real-time characteristics, e.g., streaming distribution, RTP (Real-Time Transport Protocol) is a standard related to Internet, e.g., RFC (Request for Comments) 1889. The RTP is a protocol for transmitting a packet to which a sequence number and a timestamp are attached. Some retransmitting systems using the RTP are proposed.
As a method for extending a retransmission function of the RTP, an Internet draft (draft-miyazaki-avt-rtp-selret-01.txt) titled “RTP Payload Type Format to Enable Multiple Selective Retransmissions” has been submitted to IETF (Internet Engineering Task Force). In this method for extending the retransmission function written in the Internet draft, there is a second sequence number (SSN: Second Sequence Number) allocated only to an important packet to be retransmitted besides a RTP sequence number. By using the SSN, the receiver can identify the important packet to be retransmitted, and even if the packet is lost, the receiver can request to retransmit only the important packet. In this Internet draft, a RTP header in a RTP packet transferred from the transmitter to the receiver is configured as illustrated in FIG. 16 (201). FIG. 17 (202) illustrates a RTCP (Real-Time Contral Protocol) packet for requesting the retransmission, which is transferred from the receiver to the transmitter. In the RTP header illustrated in FIG. 16 (201), the RTP header of the RFC 1889 is extended by 4 bytes, and a SSN field is provided there. The SSN is different from the RTP sequence number. In the SSN, an initial value is zero, and the value is increased by one only for the important packet which should be retransmitted. Further, S is SSNIndicator for indicating that the SSN is increased by one.
FIG. 18 shows a process of specifying a packet of which retransmission is requested based on the SSN included in the RTP header of FIG. 16 (201) by the receiver. As illustrated in FIG. 18, the RTP sequence number is increased by one for every packet (301), but the SSN is increased by one only for each of important packets (302). Further, it is possible to detect a timing when the SSN is increased by one. As stated, the SSN indicates that the packet in which the SSN is increased by one is the important packet which should be retransmitted when the packet is lost.
For example, when the receiver receives a packet of RTP sequence number 15 just after a packet of RTP sequence number 10, packets of RTP sequence numbers 11–14 are lost. In this case, the SSN of the packet of RTP sequence number 10 is 3, and the SSN of the packet of RTP sequence number 15 is 6. Since the SSN is increased from 3 to 6 inconsecutively, it is easy to judge that two important packets of which SSN's are 4 and 5, which should be retransmitted, are lost. Further, since it is judged that the packet of RTP sequence number 15 is not an important packet to be retransmitted based on a S bit in the RTP header (303), an important packet of which SSN is 6 is also lost. Therefore, the receiver transmits values of the SSN's, i.e., 4, 5, and 6, of the packets which should be retransmitted as a retransmission request to the transmitter. The transmitter retransmits an important packet to be transmitted, of which S bit of the RTP header is 1, among the packets of which SSN's are 4, 5 and 6.
As stated, in the retransmission according to the TCP protocol, since a retransmission packet is waited for, it takes time for the retransmission. Further, an excess of the ACK packet and an increase of the retransmission packet pressure a band, and cause congestion. Further, the receiver waits for the retransmission packet and requests the retransmission many times. The receiver is performing a useless retransmission processing.
The retransmitting system of the RTP written in the Internet draft titled “RTP Payload Type Format to Enable Multiple Selective Retrasmissions” is a retransmitting system when one priority degree is set. For setting a plurality of priority degrees, a plurality of SSN's is necessary. Consequently, a length of the RTP header becomes longer. In an example of FIG. 18, a combination of the SSN and the S is increased for one RTP sequence number.